<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
  <h1>修改商品页面</h1>
  <input type="text" placeholder="id" v-model="p.id" readonly>// 文本框和对象双向绑定，created里面会通过地址栏里面的id字段（点击list.html中修改按钮会将当前商品id传入地址栏）
  <input type="text" placeholder="title" v-model="p.title">   // 去调用controller里面的selectById的请求，controller返回的对象被处理赋给p对象，通过双向绑定就可以显示在文本框中
  <input type="text" placeholder="price" v-model="p.price">
  <input type="text" placeholder="num" v-model="p.num">
  <input type="button" value="修改" @click="update()">       // 点击按钮会调用update方法，方法里发出异步请求调用controller里的update的请求
                                                             // 导致数据库被更改，回到list.html时会在他的created里面执行查询功能将数据填入列表
</div>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.min.js"></script>
<script src="https://cdn.staticfile.org/vue/2.6.14/vue.min.js"></script>
<script>
  let v = new Vue({
    el:"body>div",
    data:{
      p: {
        id:"",
        title:"",
        price:"",
        num:""
      }
    },
    methods:{
      update() {
        axios.post("/update",v.p).then(function () {
          location.href="/list.html";
        })
      }
    },
    created:function () {
      // location.search得到的是地址栏中的参数：?id=x;
      axios.get("/selectById"+location.search).then(function (response) {
        v.p = response.data;
      })
    }
  })

</script>
</body>
</html>